﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ITCR.ProyectoAgricola.Datos;
using ITCR.ProyectoAgricola.Base;
using ITCR.ProyectoAgricola.Negocios;
using System.Threading;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;


namespace ITCR.ProyectoAgricola.Interfaz
{
    public partial class formularioInsumosServicios : System.Web.UI.Page
    {
        public string valorIdConsecutivo;
        public string valorUser;
        public string valorIdEmpresa;

        //variables del ambito de trabajo
        int vCheckVentaServicios = 0;
        int vCheckVentaInsumosMateriales = 0;
        int vCheckAmbas = 0;
        int vCheckOtro = 0;
        string vTextOtro;

        //variables de error en el ingreso de datos textuales, campos Nombre de la Empresa, dias de entrega, otro en el perfil
        bool vOtroAmbitoError = false;
        bool vOtroInsumoServicioError = false;


        string idActual;
        bool existeInfoAmbito;
        bool existeInfoInsumo;

        string banderaInsumo = "false";
        
        cEMPRESABase listaEmpresas = new cEMPRESABase();
        DataTable dataTableEmpresas = new DataTable();

        protected void Page_Load(object sender, EventArgs e)
        {
            valorUser = (string)Session["userName"];
            LabelNombreUsuarioFormulario.Text = valorUser;
            valorIdConsecutivo = (string)Session["consecutivoSesion"];           

            cEMPRESABase todasEmpresas = new cEMPRESABase();
            DataTable tablaEmpresas = new DataTable();
            tablaEmpresas = todasEmpresas.SeleccionarTodos();
            string codigoConsecutivo = "CE-" + valorIdConsecutivo;

            for (int i = 0; i < tablaEmpresas.Rows.Count; i++)
            {
                if (tablaEmpresas.Rows[i][1].Equals(codigoConsecutivo))
                {
                    valorIdEmpresa = tablaEmpresas.Rows[i][0].ToString();
                }
            }

            cAMBITOTRABAJOBase ambitoPrueba = new cAMBITOTRABAJOBase();
            DataTable tablaPrueba = new DataTable();
            tablaPrueba = ambitoPrueba.SeleccionarTodos();

            for (int i = 0; i < tablaPrueba.Rows.Count; i++)
            {
                
                if (tablaPrueba.Rows[i][1].ToString().Equals(valorIdEmpresa))
                {
                    bool ponerTrue = true;
                    Session["banderaInsumo"] = ponerTrue;
                }
            }

            if (!IsPostBack)
            {

                if ((bool)Session["banderaInsumo"] == true)
                {
                    //Response.Write("<script>alert('Aqui tambien es verdadero');</script>");
                    //int idEmpresa = (int)Session["idEmpresaRegistrada"];
                    int idEmpresa = int.Parse(valorIdEmpresa);
                    LabelNombreUsuarioFormulario.Text = valorUser;


                    cAMBITOTRABAJOBase cargarAmbitoExistente = new cAMBITOTRABAJOBase();
                    DataTable ambitos = new DataTable();
                    ambitos = cargarAmbitoExistente.SeleccionarTodos();

                    for (int i = 0; i < ambitos.Rows.Count; i++)
                    {
                        if (ambitos.Rows[i][1].Equals(idEmpresa))
                        {
                            cargarAmbitoExistente.IdAmbitoTrabajo = int.Parse(ambitos.Rows[i][0].ToString());
                            existeInfoAmbito = true;
                        }
                    }


                    if (existeInfoAmbito.Equals(true))
                    {
                        cargarAmbitoExistente.SeleccionarUno();

                        if (!cargarAmbitoExistente.IdEmpresa.IsNull)
                        {
                            if (cargarAmbitoExistente.VentaServicios == 1)
                            {
                                CheckboxVentaServicios.Checked = true;
                            }
                            else { CheckboxVentaServicios.Checked = false; }

                            if (cargarAmbitoExistente.VentaInsumosMateriales == 1)
                            {
                                CheckboxVentaInsumosMateriales.Checked = true;
                            }
                            else { CheckboxVentaInsumosMateriales.Checked = false; }

                            if (cargarAmbitoExistente.Otro.ToString() != "0")
                            {
                                if (cargarAmbitoExistente.Otro.ToString().Equals("Null"))
                                {
                                    //No exite un valor
                                }
                                else
                                {
                                    CheckboxOtro.Checked = true;
                                    TextOtro.Text = cargarAmbitoExistente.Otro.ToString();
                                }
                            }
                            else { CheckboxOtro.Checked = false; }

                        }
                    }

                    cINSUMOSERVICIOBase cargarInsumoExistente = new cINSUMOSERVICIOBase();
                    DataTable insumos = new DataTable();
                    insumos = cargarInsumoExistente.SeleccionarTodos();

                    for (int i = 0; i < insumos.Rows.Count; i++)
                    {

                        if (insumos.Rows[i][1].Equals(idEmpresa))
                        {
                            cargarInsumoExistente.IdInsumosServicios = int.Parse(insumos.Rows[i][0].ToString());
                            existeInfoInsumo = true;
                        }
                    }

                    if (existeInfoInsumo.Equals(true))
                    {
                        cargarInsumoExistente.SeleccionarUno();


                        if (!cargarInsumoExistente.IdEmpresa.IsNull)
                        {
                            if (cargarInsumoExistente.AbastecimientoEnergia == 1)
                            {
                                CheckboxAbastecimientoEnergia.Checked = true;
                            }
                            else { CheckboxAbastecimientoEnergia.Checked = false; }

                            if (cargarInsumoExistente.BancaFinanzas == 1)
                            {
                                CheckboxBAncaFinanzas.Checked = true;
                            }
                            else { CheckboxBAncaFinanzas.Checked = false; }

                            if (cargarInsumoExistente.Capacitacion == 1)
                            {
                                CheckboxCapacitacion.Checked = true;
                            }
                            else { CheckboxCapacitacion.Checked = false; }

                            if (cargarInsumoExistente.GestionMercado == 1)
                            {
                                CheckboxGestionMercados.Checked = true;
                            }
                            else { CheckboxGestionMercados.Checked = false; }

                            if (cargarInsumoExistente.ImpactoAmbiental == 1)
                            {
                                CheckboxImpactoAmbiental.Checked = true;
                            }
                            else { CheckboxImpactoAmbiental.Checked = false; }

                            if (cargarInsumoExistente.InformacionSustentante == 1)
                            {
                                CheckboxInformacionSustentante.Checked = true;
                            }
                            else { CheckboxInformacionSustentante.Checked = false; }

                            if (cargarInsumoExistente.InspeccionProyectos == 1)
                            {
                                CheckboxInspeccionSupervision.Checked = true;
                            }
                            else { CheckboxInspeccionSupervision.Checked = false; }

                            if (cargarInsumoExistente.ManejoDesechos == 1)
                            {
                                CheckboxManejoDesechos.Checked = true;
                            }
                            else { CheckboxManejoDesechos.Checked = false; }

                            if (cargarInsumoExistente.Mercados == 1)
                            {
                                CheckboxMercados.Checked = true;
                            }
                            else { CheckboxMercados.Checked = false; }

                            if (cargarInsumoExistente.PlanificacionTrabajoProduccion == 1)
                            {
                                CheckboxPlanificacionTrabajo.Checked = true;
                            }
                            else { CheckboxPlanificacionTrabajo.Checked = false; }

                            if (cargarInsumoExistente.Poscosecha == 1)
                            {
                                CheckboxPoscosecha.Checked = true;
                            }
                            else { CheckboxPoscosecha.Checked = false; }

                            if (cargarInsumoExistente.Produccion == 1)
                            {
                                CheckboxProduccion.Checked = true;
                            }
                            else { CheckboxProduccion.Checked = false; }

                            if (cargarInsumoExistente.SanidadCultivos == 1)
                            {
                                CheckboxSanidadCultivos.Checked = true;
                            }
                            else { CheckboxSanidadCultivos.Checked = false; }

                            if (cargarInsumoExistente.RiegoNutricionDrenaje == 1)
                            {
                                CheckboxSistemasRiegoNutricionDrenaje.Checked = true;
                            }
                            else { CheckboxSistemasRiegoNutricionDrenaje.Checked = false; }

                            if (cargarInsumoExistente.Otro.ToString() != "0")
                            {
                                if (cargarInsumoExistente.Otro.ToString().Equals("Null"))
                                {
                                    //No exite un valor
                                }
                                else
                                {
                                    CheckboxOtroInsumos.Checked = true;
                                    TextboxOtroInsumos.Text = cargarInsumoExistente.Otro.ToString();
                                }
                            }
                            else { CheckboxOtroInsumos.Checked = false; }

                            if (cargarInsumoExistente.Sustratos == 1)
                            {
                                CheckboxSustratos.Checked = true;
                            }
                            else { CheckboxSustratos.Checked = false; }
                        }



                        if (!cargarInsumoExistente.IdInsumosServicios.IsNull)
                        {

                            cINSUMOSERVICIOASUNTOBase cargarInsumoAsuntoExistente = new cINSUMOSERVICIOASUNTOBase();
                            cargarInsumoAsuntoExistente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoAsuntoExistente.SeleccionarUno();

                            if (cargarInsumoAsuntoExistente.AsuntosFinancieros == 1)
                            {
                                CheckboxAsuntosFinancieros.Checked = true;
                            }
                            else { CheckboxAsuntosFinancieros.Checked = false; }

                            if (cargarInsumoAsuntoExistente.AsuntosJuridicos == 1)
                            {
                                CheckboxAsuntosJuridicos.Checked = true;
                            }
                            else { CheckboxAsuntosJuridicos.Checked = false; }

                            if (cargarInsumoAsuntoExistente.AsuntosLogisticos == 1)
                            {
                                CheckboxAsuntosLogisticos.Checked = true;
                            }
                            else { CheckboxAsuntosLogisticos.Checked = false; }


                            cINSUMOSERVICIODISEÑOBase cargarInsumoDisenoExistente = new cINSUMOSERVICIODISEÑOBase();
                            cargarInsumoDisenoExistente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoDisenoExistente.SeleccionarUno();

                            if (cargarInsumoDisenoExistente.DiseñoEstructuras == 1)
                            {
                                CheckboxDiseñoConstruccion.Checked = true;
                            }
                            else { CheckboxDiseñoConstruccion.Checked = false; }

                            if (cargarInsumoDisenoExistente.DiseñoSeguimientoProyectos == 1)
                            {
                                CheckboxDiseñoSeguimientoProyectos.Checked = true;
                            }
                            else { CheckboxDiseñoSeguimientoProyectos.Checked = false; }

                            cINSUMOSERVICIOESTUDIOBase cargarInsumoEstudioExistente = new cINSUMOSERVICIOESTUDIOBase();
                            cargarInsumoEstudioExistente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoEstudioExistente.SeleccionarUno();

                            if (cargarInsumoEstudioExistente.EstudiosAgua == 1)
                            {
                                CheckboxEstudiosCapacitacionManejoAguas.Checked = true;
                            }
                            else { CheckboxEstudiosCapacitacionManejoAguas.Checked = false; }

                            if (cargarInsumoEstudioExistente.EstudiosFactibilidad == 1)
                            {
                                CheckboxEstudiosFactibilidad.Checked = true;
                            }
                            else { CheckboxEstudiosFactibilidad.Checked = false; }


                            cINSUMOSERVICIOINSUMOBase cargarInsumoServicioInsumoExistente = new cINSUMOSERVICIOINSUMOBase();
                            cargarInsumoServicioInsumoExistente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoServicioInsumoExistente.SeleccionarUno();

                            if (cargarInsumoServicioInsumoExistente.InsumosAgricola == 1)
                            {
                                CheckboxInsumosAgricolas.Checked = true;
                            }
                            else { CheckboxInsumosAgricolas.Checked = false; }

                            if (cargarInsumoServicioInsumoExistente.InsumosConstruccion == 1)
                            {
                                CheckboxInsumosConstruccion.Checked = true;
                            }
                            else { CheckboxInsumosConstruccion.Checked = false; }

                            if (cargarInsumoServicioInsumoExistente.insumosConstruccionComplementarios == 1)
                            {
                                CheckboxInsumosConstruccionComplementarios.Checked = true;
                            }
                            else { CheckboxInsumosConstruccionComplementarios.Checked = false; }  

                            cINSUMOSERVICIOSEGURBase cargarInsumoSegurExistente = new cINSUMOSERVICIOSEGURBase();
                            cargarInsumoSegurExistente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoSegurExistente.SeleccionarUno();

                            if (cargarInsumoSegurExistente.Seguros == 1)
                            {
                                CheckboxSeguros.Checked = true;
                            }
                            else { CheckboxSeguros.Checked = false; }

                            if (cargarInsumoSegurExistente.SeguridadLaboral == 1)
                            {
                                CheckboxSeguridadLaboral.Checked = true;
                            }
                            else { CheckboxSeguridadLaboral.Checked = false; }

                            cINSUMOSERVICIOSERVICIOBase cargarInsumoServicioExitente = new cINSUMOSERVICIOSERVICIOBase();
                            cargarInsumoServicioExitente.IdInsumosServicios = cargarInsumoExistente.IdInsumosServicios;
                            cargarInsumoServicioExitente.SeleccionarUno();

                            if (cargarInsumoServicioExitente.ServiciosMantenimientoEquipos == 1)
                            {
                                CheckboxServiciosEvaluacionMatenimientoEquipos.Checked = true;
                            }
                            else { CheckboxServiciosEvaluacionMatenimientoEquipos.Checked = false; }

                            if (cargarInsumoServicioExitente.ServiciosMantenimientoEstructuras == 1)
                            {
                                CheckboxServiciosEvaluacionMatenimientoEstructuras.Checked = true;
                            }
                            else { CheckboxServiciosEvaluacionMatenimientoEstructuras.Checked = false; }

                            if (cargarInsumoServicioExitente.ServiciosLaboratorio == 1)
                            {
                                CheckboxServiciosLaboratorio.Checked = true;
                            }
                            else { CheckboxServiciosLaboratorio.Checked = false; }

                        }
                    }
                }
            }
        }


        protected void ButtonEnviarInsumosServicios_Click(object sender, EventArgs e)
        {
            guardarActualizarInformacion();
            Response.RedirectPermanent("formularioImplementacionEquipamiento.aspx");
        }//

        protected void ButtonAtrasInsumosServicios_Click(object sender, EventArgs e)
        {
            guardarActualizarInformacion();
            valorIdConsecutivo = (string)Session["consecutivoSesion"];
            valorUser = (string)Session["userName"];
            Response.RedirectPermanent("formularioProyectos.aspx");
        }

        protected void ButtonCatalogoP_Click(object sender, EventArgs e)
        {
            guardarActualizarInformacion();
            Response.RedirectPermanent("catalogoInicio.aspx");

        }

        protected void ButtonHome_Click(object sender, EventArgs e)
        {
            guardarActualizarInformacion();
            Response.RedirectPermanent("Default.aspx");
        }


        protected void guardarActualizarInformacion()
        {
            valorIdConsecutivo = (string)Session["consecutivoSesion"];
            valorUser = (string)Session["userName"];

            dataTableEmpresas = listaEmpresas.SeleccionarTodos();
            string consecutivo = "CE-" + valorIdConsecutivo;

            for (int i = 0; i < dataTableEmpresas.Rows.Count; i++)
            {
                if (dataTableEmpresas.Rows[i][1].ToString().Equals(consecutivo))
                {
                    idActual = dataTableEmpresas.Rows[i][0].ToString();
                }
            }


            //INSTANCIAS
            cAMBITOTRABAJOBase nuevoAmbito = new cAMBITOTRABAJOBase();
            cINSUMOSERVICIOBase nuevoInsumo = new cINSUMOSERVICIOBase();
            cINSUMOSERVICIOASUNTOBase nuevoInsumoServicioAsunto = new cINSUMOSERVICIOASUNTOBase();
            cINSUMOSERVICIODISEÑOBase nuevoInsumoServicioDiseño = new cINSUMOSERVICIODISEÑOBase();
            cINSUMOSERVICIOESTUDIOBase nuevoInsumoServicioEstudio = new cINSUMOSERVICIOESTUDIOBase();
            cINSUMOSERVICIOINSUMOBase nuevoInsumoServicioInsumo = new cINSUMOSERVICIOINSUMOBase();
            cINSUMOSERVICIOSEGURBase nuevoInsumoServicioSegur = new cINSUMOSERVICIOSEGURBase();
            cINSUMOSERVICIOSERVICIOBase nuevoInsumoServicioServicio = new cINSUMOSERVICIOSERVICIOBase();


            //Asignacion Variables para el AMBITO DE TRABAJO de la empresa
            if (CheckboxVentaServicios.Checked == true)
            {
                vCheckVentaServicios = 1;
            }
            else { vCheckVentaServicios = 0; }

            if (CheckboxVentaInsumosMateriales.Checked == true)
            {
                vCheckVentaInsumosMateriales = 1;
            }
            else { vCheckVentaInsumosMateriales = 0; }

            if (CheckboxOtro.Checked == true)
            {

                vCheckOtro = 1;
                if (TextOtro.Text.Equals(" "))
                {
                    vOtroAmbitoError = true;
                    Response.Write("<script>alert('Especifique el dato para la opción Otro en Ambito de trabajo');</script>");
                }
                else { vTextOtro = TextOtro.Text.ToString(); }
            }
            else
            {
                if (TextOtro.Text != " ")
                {
                    vTextOtro = TextOtro.Text.ToString();
                }
                else
                { vTextOtro = "0"; }
            }


            //Se ACTUALIZA la informacion de una empresa existente
            if ((bool)Session["banderaInsumo"] == true)
            {
                //int idEmpresa = (int)Session["idEmpresaRegistrada"];                
                int idEmpresa = int.Parse(valorIdEmpresa);


                cAMBITOTRABAJOBase cargarAmbitoExistente = new cAMBITOTRABAJOBase();
                DataTable ambitos = new DataTable();
                ambitos = cargarAmbitoExistente.SeleccionarTodos();

                for (int i = 0; i < ambitos.Rows.Count; i++)
                {
                    if (ambitos.Rows[i][1].Equals(idEmpresa))
                    {
                        nuevoAmbito.IdEmpresa = idEmpresa;
                        nuevoAmbito.IdAmbitoTrabajo = int.Parse(ambitos.Rows[i][0].ToString());
                    }
                }


                if (vOtroAmbitoError)
                {
                }
                else
                {
                    nuevoAmbito.VentaServicios = vCheckVentaServicios;
                    nuevoAmbito.VentaInsumosMateriales = vCheckVentaInsumosMateriales;
                    nuevoAmbito.Otro = vTextOtro;

                    nuevoAmbito.Actualizar();

                    vOtroAmbitoError = false;
                }


                cINSUMOSERVICIOBase insumo = new cINSUMOSERVICIOBase();
                insumo.IdEmpresa = idEmpresa;
                insumo.SeleccionarUnoConIdentificadorEmpresa();

                //nuevoInsumo.IdEmpresa = Int32.Parse(idActual);
                nuevoInsumo.IdEmpresa = idEmpresa;
                nuevoInsumo.IdInsumosServicios = insumo.IdInsumosServicios;

                if (CheckboxAbastecimientoEnergia.Checked == true)
                {
                    nuevoInsumo.AbastecimientoEnergia = 1;
                }
                else { nuevoInsumo.AbastecimientoEnergia = 0; }
                if (CheckboxBAncaFinanzas.Checked == true)
                {
                    nuevoInsumo.BancaFinanzas = 1;
                }
                else { nuevoInsumo.BancaFinanzas = 0; }
                if (CheckboxCapacitacion.Checked == true)
                {
                    nuevoInsumo.Capacitacion = 1;
                }
                else { nuevoInsumo.Capacitacion = 0; }
                if (CheckboxGestionMercados.Checked == true)
                {
                    nuevoInsumo.GestionMercado = 1;
                }
                else { nuevoInsumo.GestionMercado = 0; }
                if (CheckboxImpactoAmbiental.Checked == true)
                {
                    nuevoInsumo.ImpactoAmbiental = 1;
                }
                else { nuevoInsumo.ImpactoAmbiental = 0; }
                if (CheckboxInformacionSustentante.Checked == true)
                {
                    nuevoInsumo.InformacionSustentante = 1;
                }
                else { nuevoInsumo.InformacionSustentante = 0; }
                if (CheckboxInspeccionSupervision.Checked == true)
                {
                    nuevoInsumo.InspeccionProyectos = 1;
                }
                else { nuevoInsumo.InspeccionProyectos = 0; }
                if (CheckboxManejoDesechos.Checked == true)
                {
                    nuevoInsumo.ManejoDesechos = 1;
                }
                else { nuevoInsumo.ManejoDesechos = 0; }
                if (CheckboxMercados.Checked == true)
                {
                    nuevoInsumo.Mercados = 1;
                }
                else { nuevoInsumo.Mercados = 0; }
                if (CheckboxPlanificacionTrabajo.Checked == true)
                {
                    nuevoInsumo.PlanificacionTrabajoProduccion = 1;
                }
                else { nuevoInsumo.PlanificacionTrabajoProduccion = 0; }
                if (CheckboxPoscosecha.Checked == true)
                {
                    nuevoInsumo.Poscosecha = 1;
                }
                else { nuevoInsumo.Poscosecha = 0; }
                if (CheckboxProduccion.Checked == true)
                {
                    nuevoInsumo.Produccion = 1;
                }
                else { nuevoInsumo.Produccion = 0; }
                if (CheckboxSanidadCultivos.Checked == true)
                {
                    nuevoInsumo.SanidadCultivos = 1;
                }
                else { nuevoInsumo.SanidadCultivos = 0; }
                if (CheckboxSistemasRiegoNutricionDrenaje.Checked == true)
                {
                    nuevoInsumo.RiegoNutricionDrenaje = 1;
                }
                else { nuevoInsumo.RiegoNutricionDrenaje = 0; }

                if (CheckboxOtroInsumos.Checked == true)
                {

                    if (TextboxOtroInsumos.Text.Equals(" "))
                    {
                        vOtroInsumoServicioError = true;
                        Response.Write("<script>alert('Especifique el dato para la opción Otro en Insumos');</script>");
                    }
                    else { nuevoInsumo.Otro = TextboxOtroInsumos.Text.ToString(); }
                }
                else
                {
                    if (TextboxOtroInsumos.Text != " ")
                    {
                        nuevoInsumo.Otro = TextboxOtroInsumos.Text.ToString();
                    }
                    else
                    { nuevoInsumo.Otro = "0"; }
                }

                if (CheckboxSustratos.Checked == true)
                {
                    nuevoInsumo.Sustratos = 1;
                }
                else { nuevoInsumo.Sustratos = 0; }


                //INSERTAR 
                if (vOtroInsumoServicioError)
                {
                }
                else
                {
                    nuevoInsumo.Actualizar();

                    //SE ASIGNAN LOS VALORES PARA INSERTAR                
                    nuevoInsumoServicioAsunto.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxAsuntosFinancieros.Checked == true)
                    {
                        nuevoInsumoServicioAsunto.AsuntosFinancieros = 1;
                    }
                    else { nuevoInsumoServicioAsunto.AsuntosFinancieros = 0; }

                    if (CheckboxAsuntosJuridicos.Checked == true)
                    {
                        nuevoInsumoServicioAsunto.AsuntosJuridicos = 1;
                    }
                    else { nuevoInsumoServicioAsunto.AsuntosJuridicos = 0; }

                    if (CheckboxAsuntosLogisticos.Checked == true)
                    {
                        nuevoInsumoServicioAsunto.AsuntosLogisticos = 1;
                    }
                    else { nuevoInsumoServicioAsunto.AsuntosLogisticos = 0; }


                    //SE INSERTA EN LA TABLA DE INSUMO SERVICIO DISEÑO                
                    nuevoInsumoServicioDiseño.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxDiseñoConstruccion.Checked == true)
                    {
                        nuevoInsumoServicioDiseño.DiseñoEstructuras = 1;
                    }
                    else { nuevoInsumoServicioDiseño.DiseñoEstructuras = 0; }

                    if (CheckboxDiseñoSeguimientoProyectos.Checked == true)
                    {
                        nuevoInsumoServicioDiseño.DiseñoSeguimientoProyectos = 1;
                    }
                    else { nuevoInsumoServicioDiseño.DiseñoSeguimientoProyectos = 0; }


                    //SE INSERTA EN LA TABLA DE INSUMO SERVICIO ESTUDIO                
                    nuevoInsumoServicioEstudio.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxEstudiosCapacitacionManejoAguas.Checked == true)
                    {
                        nuevoInsumoServicioEstudio.EstudiosAgua = 1;
                    }
                    else { nuevoInsumoServicioEstudio.EstudiosAgua = 0; }

                    if (CheckboxEstudiosFactibilidad.Checked == true)
                    {
                        nuevoInsumoServicioEstudio.EstudiosFactibilidad = 1;
                    }
                    else { nuevoInsumoServicioEstudio.EstudiosFactibilidad = 0; }


                    //SE INSERTA EN LA TABLA DE INSUMO SERVICIO INSUMO                
                    nuevoInsumoServicioInsumo.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxInsumosAgricolas.Checked == true)
                    {
                        nuevoInsumoServicioInsumo.InsumosAgricola = 1;
                    }
                    else { nuevoInsumoServicioInsumo.InsumosAgricola = 0; }

                    if (CheckboxInsumosConstruccion.Checked == true)
                    {
                        nuevoInsumoServicioInsumo.InsumosConstruccion = 1;
                    }
                    else { nuevoInsumoServicioInsumo.InsumosConstruccion = 0; }

                    if (CheckboxInsumosConstruccionComplementarios.Checked == true)
                    {
                        nuevoInsumoServicioInsumo.insumosConstruccionComplementarios = 1;
                    }
                    else { nuevoInsumoServicioInsumo.insumosConstruccionComplementarios = 0; }


                    //SE INSERTA EN LA TABLA DE INSUMO SERVICIO SEGURO                
                    nuevoInsumoServicioSegur.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxSeguros.Checked == true)
                    {
                        nuevoInsumoServicioSegur.Seguros = 1;
                    }
                    else { nuevoInsumoServicioSegur.Seguros = 0; }

                    if (CheckboxSeguridadLaboral.Checked == true)
                    {
                        nuevoInsumoServicioSegur.SeguridadLaboral = 1;
                    }
                    else { nuevoInsumoServicioSegur.SeguridadLaboral = 0; }



                    //SE INSERTA EN LA TABLA DE INSUMO SERVICIO SERVICIO                
                    nuevoInsumoServicioServicio.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                    if (CheckboxServiciosEvaluacionMatenimientoEquipos.Checked == true)
                    {
                        nuevoInsumoServicioServicio.ServiciosMantenimientoEquipos = 1;
                    }
                    else { nuevoInsumoServicioServicio.ServiciosMantenimientoEquipos = 0; }

                    if (CheckboxServiciosEvaluacionMatenimientoEstructuras.Checked == true)
                    {
                        nuevoInsumoServicioServicio.ServiciosMantenimientoEstructuras = 1;
                    }
                    else { nuevoInsumoServicioServicio.ServiciosMantenimientoEstructuras = 0; }

                    if (CheckboxServiciosLaboratorio.Checked == true)
                    {
                        nuevoInsumoServicioServicio.ServiciosLaboratorio = 1;
                    }
                    else { nuevoInsumoServicioServicio.ServiciosLaboratorio = 0; }

                    //INSERTAR
                    nuevoInsumoServicioAsunto.Actualizar();
                    nuevoInsumoServicioDiseño.Actualizar();
                    nuevoInsumoServicioEstudio.Actualizar();
                    nuevoInsumoServicioInsumo.Actualizar();
                    nuevoInsumoServicioSegur.Actualizar();
                    nuevoInsumoServicioServicio.Actualizar();

                }

                vOtroInsumoServicioError = false;
                valorIdConsecutivo = (string)Session["consecutivoSesion"];
                valorUser = (string)Session["userName"];
                Session["banderaInsumo"] = true;
            }
            else
            {
                //SE INSERTA EL AMBITO DE TRABAJO DE LA EMPRESA
                insertarAmbito();

                //SE INSERTA EN LA TABLA GENERAL DE INSUMOS            
                insertarInsumoServicio();

                vOtroInsumoServicioError = false;

                //Response.RedirectPermanent("formularioImplementacionEquipamiento.aspx?idConsecutivo=" + valorIdConsecutivo + "&userName=" + valorUser);
                valorIdConsecutivo = (string)Session["consecutivoSesion"];
                valorUser = (string)Session["userName"];
                Session["banderaInsumo"] = true;                
            }
        }


        protected void insertarAmbito()
        {
            cAMBITOTRABAJOBase nuevoAmbito = new cAMBITOTRABAJOBase();

            if (vOtroAmbitoError)
            {
            }
            else
            {
                nuevoAmbito.IdEmpresa = Int32.Parse(idActual);
                nuevoAmbito.VentaServicios = vCheckVentaServicios;
                nuevoAmbito.VentaInsumosMateriales = vCheckVentaInsumosMateriales;
                nuevoAmbito.Otro = vTextOtro;

                nuevoAmbito.Insertar();

                vOtroAmbitoError = false;
            }
        }

        //Insertar Insumo Servicio
        protected void insertarInsumoServicio()
        {
            cINSUMOSERVICIOBase nuevoInsumo = new cINSUMOSERVICIOBase();
            cINSUMOSERVICIOASUNTOBase nuevoInsumoServicioAsunto = new cINSUMOSERVICIOASUNTOBase();
            cINSUMOSERVICIODISEÑOBase nuevoInsumoServicioDiseño = new cINSUMOSERVICIODISEÑOBase();
            cINSUMOSERVICIOESTUDIOBase nuevoInsumoServicioEstudio = new cINSUMOSERVICIOESTUDIOBase();
            cINSUMOSERVICIOINSUMOBase nuevoInsumoServicioInsumo = new cINSUMOSERVICIOINSUMOBase();
            cINSUMOSERVICIOSEGURBase nuevoInsumoServicioSegur = new cINSUMOSERVICIOSEGURBase();
            cINSUMOSERVICIOSERVICIOBase nuevoInsumoServicioServicio = new cINSUMOSERVICIOSERVICIOBase();

            nuevoInsumo.IdEmpresa = Int32.Parse(idActual);

            if (CheckboxAbastecimientoEnergia.Checked == true)
            {
                nuevoInsumo.AbastecimientoEnergia = 1;
            }
            else { nuevoInsumo.AbastecimientoEnergia = 0; }
            if (CheckboxBAncaFinanzas.Checked == true)
            {
                nuevoInsumo.BancaFinanzas = 1;
            }
            else { nuevoInsumo.BancaFinanzas = 0; }
            if (CheckboxCapacitacion.Checked == true)
            {
                nuevoInsumo.Capacitacion = 1;
            }
            else { nuevoInsumo.Capacitacion = 0; }
            if (CheckboxGestionMercados.Checked == true)
            {
                nuevoInsumo.GestionMercado = 1;
            }
            else { nuevoInsumo.GestionMercado = 0; }
            if (CheckboxImpactoAmbiental.Checked == true)
            {
                nuevoInsumo.ImpactoAmbiental = 1;
            }
            else { nuevoInsumo.ImpactoAmbiental = 0; }
            if (CheckboxInformacionSustentante.Checked == true)
            {
                nuevoInsumo.InformacionSustentante = 1;
            }
            else { nuevoInsumo.InformacionSustentante = 0; }
            if (CheckboxInspeccionSupervision.Checked == true)
            {
                nuevoInsumo.InspeccionProyectos = 1;
            }
            else { nuevoInsumo.InspeccionProyectos = 0; }
            if (CheckboxManejoDesechos.Checked == true)
            {
                nuevoInsumo.ManejoDesechos = 1;
            }
            else { nuevoInsumo.ManejoDesechos = 0; }
            if (CheckboxMercados.Checked == true)
            {
                nuevoInsumo.Mercados = 1;
            }
            else { nuevoInsumo.Mercados = 0; }
            if (CheckboxPlanificacionTrabajo.Checked == true)
            {
                nuevoInsumo.PlanificacionTrabajoProduccion = 1;
            }
            else { nuevoInsumo.PlanificacionTrabajoProduccion = 0; }
            if (CheckboxPoscosecha.Checked == true)
            {
                nuevoInsumo.Poscosecha = 1;
            }
            else { nuevoInsumo.Poscosecha = 0; }
            if (CheckboxProduccion.Checked == true)
            {
                nuevoInsumo.Produccion = 1;
            }
            else { nuevoInsumo.Produccion = 0; }
            if (CheckboxSanidadCultivos.Checked == true)
            {
                nuevoInsumo.SanidadCultivos = 1;
            }
            else { nuevoInsumo.SanidadCultivos = 0; }
            if (CheckboxSistemasRiegoNutricionDrenaje.Checked == true)
            {
                nuevoInsumo.RiegoNutricionDrenaje = 1;
            }
            else { nuevoInsumo.RiegoNutricionDrenaje = 0; }

            if (CheckboxOtroInsumos.Checked == true)
            {

                if (TextboxOtroInsumos.Text.Equals(" "))
                {
                    vOtroInsumoServicioError = true;
                    Response.Write("<script>alert('Especifique el dato para la opción Otro en Insumos');</script>");
                }
                else { nuevoInsumo.Otro = TextboxOtroInsumos.Text.ToString(); }
            }
            else
            {
                if (TextboxOtroInsumos.Text != " ")
                {
                    nuevoInsumo.Otro = TextboxOtroInsumos.Text.ToString();
                }
                else
                { nuevoInsumo.Otro = "0"; }
            }


            if (CheckboxSustratos.Checked == true)
            {
                nuevoInsumo.Sustratos = 1;
            }
            else { nuevoInsumo.Sustratos = 0; }


            //INSERTAR 
            if (vOtroInsumoServicioError)
            {
            }
            else
            {
                nuevoInsumo.Insertar();

                //SE ASIGNAN LOS VALORES PARA INSERTAR                
                nuevoInsumoServicioAsunto.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxAsuntosFinancieros.Checked == true)
                {
                    nuevoInsumoServicioAsunto.AsuntosFinancieros = 1;
                }
                else { nuevoInsumoServicioAsunto.AsuntosFinancieros = 0; }

                if (CheckboxAsuntosJuridicos.Checked == true)
                {
                    nuevoInsumoServicioAsunto.AsuntosJuridicos = 1;
                }
                else { nuevoInsumoServicioAsunto.AsuntosJuridicos = 0; }

                if (CheckboxAsuntosLogisticos.Checked == true)
                {
                    nuevoInsumoServicioAsunto.AsuntosLogisticos = 1;
                }
                else { nuevoInsumoServicioAsunto.AsuntosLogisticos = 0; }


                //SE INSERTA EN LA TABLA DE INSUMO SERVICIO DISEÑO                
                nuevoInsumoServicioDiseño.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxDiseñoConstruccion.Checked == true)
                {
                    nuevoInsumoServicioDiseño.DiseñoEstructuras = 1;
                }
                else { nuevoInsumoServicioDiseño.DiseñoEstructuras = 0; }

                if (CheckboxDiseñoSeguimientoProyectos.Checked == true)
                {
                    nuevoInsumoServicioDiseño.DiseñoSeguimientoProyectos = 1;
                }
                else { nuevoInsumoServicioDiseño.DiseñoSeguimientoProyectos = 0; }


                //SE INSERTA EN LA TABLA DE INSUMO SERVICIO ESTUDIO                
                nuevoInsumoServicioEstudio.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxEstudiosCapacitacionManejoAguas.Checked == true)
                {
                    nuevoInsumoServicioEstudio.EstudiosAgua = 1;
                }
                else { nuevoInsumoServicioEstudio.EstudiosAgua = 0; }

                if (CheckboxEstudiosFactibilidad.Checked == true)
                {
                    nuevoInsumoServicioEstudio.EstudiosFactibilidad = 1;
                }
                else { nuevoInsumoServicioEstudio.EstudiosFactibilidad = 0; }


                //SE INSERTA EN LA TABLA DE INSUMO SERVICIO INSUMO                
                nuevoInsumoServicioInsumo.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxInsumosAgricolas.Checked == true)
                {
                    nuevoInsumoServicioInsumo.InsumosAgricola = 1;
                }
                else { nuevoInsumoServicioInsumo.InsumosAgricola = 0; }

                if (CheckboxInsumosConstruccion.Checked == true)
                {
                    nuevoInsumoServicioInsumo.InsumosConstruccion = 1;
                }
                else { nuevoInsumoServicioInsumo.InsumosConstruccion = 0; }

                if (CheckboxInsumosConstruccionComplementarios.Checked == true)
                {
                    nuevoInsumoServicioInsumo.insumosConstruccionComplementarios = 1;
                }
                else { nuevoInsumoServicioInsumo.insumosConstruccionComplementarios = 0; }


                //SE INSERTA EN LA TABLA DE INSUMO SERVICIO SEGURO                
                nuevoInsumoServicioSegur.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxSeguros.Checked == true)
                {
                    nuevoInsumoServicioSegur.Seguros = 1;
                }
                else { nuevoInsumoServicioSegur.Seguros = 0; }

                if (CheckboxSeguridadLaboral.Checked == true)
                {
                    nuevoInsumoServicioSegur.SeguridadLaboral = 1;
                }
                else { nuevoInsumoServicioSegur.SeguridadLaboral = 0; }



                //SE INSERTA EN LA TABLA DE INSUMO SERVICIO SERVICIO                
                nuevoInsumoServicioServicio.IdInsumosServicios = nuevoInsumo.IdInsumosServicios;

                if (CheckboxServiciosEvaluacionMatenimientoEquipos.Checked == true)
                {
                    nuevoInsumoServicioServicio.ServiciosMantenimientoEquipos = 1;
                }
                else { nuevoInsumoServicioServicio.ServiciosMantenimientoEquipos = 0; }

                if (CheckboxServiciosEvaluacionMatenimientoEstructuras.Checked == true)
                {
                    nuevoInsumoServicioServicio.ServiciosMantenimientoEstructuras = 1;
                }
                else { nuevoInsumoServicioServicio.ServiciosMantenimientoEstructuras = 0; }

                if (CheckboxServiciosLaboratorio.Checked == true)
                {
                    nuevoInsumoServicioServicio.ServiciosLaboratorio = 1;
                }
                else { nuevoInsumoServicioServicio.ServiciosLaboratorio = 0; }

                //INSERTAR
                nuevoInsumoServicioAsunto.Insertar();
                nuevoInsumoServicioDiseño.Insertar();
                nuevoInsumoServicioEstudio.Insertar();
                nuevoInsumoServicioInsumo.Insertar();
                nuevoInsumoServicioSegur.Insertar();
                nuevoInsumoServicioServicio.Insertar();
            }
        }     
    }
}